package dsq.lesson;

public class LessonArray { 
	
	
	public static void main(String[] args) {   
		/*
		 * 整数类型:byte,short,int,long默认初始化值都是0
	浮点类型:float,double默认初始化值都是0.0
	布尔类型:boolean默认初始化值false
	字符类型:char默认初始化值'\u0000'
	char在内存中占的两个字节,是16个二进制位 
	\u0000,每一个0其实代表的是16进制的0,那么四个0就是代表16个二进制位

	[I@19bb25a

	[代表是数组,几个就代表几维
	I代表是int类型
	@是固定的
	19bb25a代表的是数组的地址值
		 */
		
		int[] arr = new int[5];				//动态初始化,在内存中开辟连续的5块空间
		
		System.out.println(arr[0]);			//0 系统给出默认初始化值,整数类型的都是0
		
		arr[0] = 10;

		System.out.println(arr[0]);	

		System.out.println(arr);			//[I@19bb25a
		
		/*
		* A:栈(掌握)
			* 存储局部变量 
			局部变量:定义在方法声明上和方法中的变量
		* B:堆(掌握)
			* 存储new出来的数组或对象 
		* C:方法区
			* 面向对象部分讲解 
		* D:本地方法区
			* 和系统相关 
		* E:寄存器
			* 给CPU使用
		*/
		
		
		//数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
				//int[] arr = new int[5]{11,22,33,44,55};	//不允许动静结合
				int[] arr2 = {11,22,33,44,55};			//静态初始化的简写形式

				//int[] arr;								//声明数组引用
				//arr = new int[]{11,22,33,44,55};

				//int[] arr2;
				//arr2 = {11,22,33,44,55};				//简写形式声明和赋值在同一行

				System.out.println(arr2);
				System.out.println(arr2[4]);
		
		
	}



}
